<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //​	实现删除字符串中出现次数最少的字符，若出现次数最少的字符有多个，则把出现次数
      //最少的字符都删除。输出删除这些单词后的字符串，字符串中其它字符保持原来的顺序。
      //如给你的字符串是 'aabcddd'，那么应该返回 'aaddd'
      //例：如给你的字符串是 'aabcdee'，那么应该返回 'aaee'
      let str = 'abacddd'
      function fn(str) {
        //先用一个对象统计每个字符出现的次数
        let obj = {}
       for (let i = 0; i < str.length; i++) {
          if (obj[str[i]]) {
            obj[str[i]]++
          } else {
            obj[str[i]] = 1
          }
        }
        console.log(obj)
        //用Object.values方法获取这个对象的属性值获取次数最少的 再将数组解构 再用Math.min方法获取最小值
        const arr = []
        const min = Math.min(...Object.values(obj))
        console.log(min)
        for (let k in obj) {
          //如果属性值等于最少的 就把属性名push到arr里
          if (obj[k] === min) {
            arr.push(k)
          }
        }
        for(let i = 0;i<arr.length;i++) {
       // console.log(arr);
       str=str.replaceAll(arr[i],'')
      }
      console.log(str);
    }
      fn(str)
    </script>
  </body>
</html>
